/*! \file Vector2.inl
 *	\brief 
 *
 *	created:	2009/11/12
 *	created:	12:11:2009   17:13
 *	filename: 	c:\src\main\libs\math\Vector2.inl
 *	file path:	c:\src\main\libs\math
 *	file base:	Vector2
 *	file ext:	inl
 *	author:		Vitalii Trubchaninov
 *				venngraydog@gmail.com
 */
 
namespace tt{
namespace math{

template<typename T>
Vector2<T>::Vector2(void)
: x(0)
, y(0)
{
}


template<typename T>
Vector2<T>::Vector2( Value _x, Value _y )
: x(_x)
, y(_y)
{

}

template<typename T>
Vector2<T>::~Vector2(void)
{
}

template<typename T>
Vector2<T> Vector2<T>::operator+( const Vector2& value ) const
{
	Vector2 result(*this);
	result += value;
	return result;
}

template<typename T>
Vector2<T> Vector2<T>::operator-( const Vector2& value ) const
{
	Vector2 result(*this);
	result -= value;
	return result;
}

template<typename T>
Vector2<T>& Vector2<T>::operator+=( const Vector2& value )
{
	x += value.x;
	y += value.y;
	return *this;
}

template<typename T>
Vector2<T>& Vector2<T>::operator-=( const Vector2& value )
{
	x -= value.x;
	y -= value.y;
	return *this;
}

} //namespace math
} //namespace tt
